package top.vains.server;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * cpu 实体
 * @author vains
 */
public class Cpu implements Serializable {
	/**
     * 核心数
     */
	@Getter
	@Setter
    private int cpuNum;
 
    /**
     * CPU总的使用率
     */
	@Setter
    private double total;
 
    /**
     * CPU系统使用率
     */
	@Setter
    private double sys;
 
    /**
     * CPU用户使用率
     */
	@Setter
    private double used;
 
    /**
     * CPU当前等待率
     */
	@Setter
    private double wait;
 
    /**
     * CPU当前空闲率
     */
	@Setter
    private double free;
 
 
    public double getTotal() {
        BigDecimal b = new BigDecimal(total / 100);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
 
    public double getSys() {
        BigDecimal b = new BigDecimal((sys / total) * 100);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
    
    public double getUsed() {
        BigDecimal b = new BigDecimal((used / total) * 100);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
 
    public double getWait() {
        BigDecimal b = new BigDecimal((wait / total) * 100);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
 
    public double getFree() {
        BigDecimal b = new BigDecimal((free / total) * 100);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }

}